# setup a primary image from netinstall

# prepare buildmaster
# config build master to run jobs:
# rawhide : *.tree - test the installer build and run in rawhide releases
# fxx - test the installer build and run in fxx releases


# prepare buildslave
# download bfo iso: http://boot.fedoraproject.org/download
# install ks from the repo. select stable release for testing
# after install, configure buildslave

if False:
    
    class AutomatedInstallerTest(object):
        def setUp(self):
            # create a machine using the specification
            # boot using the installer
            # listen on virtual serial for install finished
            # after install finished, wait for machine powerdown
            # bring machine back up wait for console on serial port
            # tunnel into machine        
            pass
        
        
        # test process/service status
        # test command outputs
        # test file placement, value
    
    class BasicSetupTests(AutomatedInstallerTest):
        def test_hostname(self):
            pass
        
        
    class TestNetworkSetupAuto(self):
        # check that devices install automatically
        pass
    
    class TestNetworkSetup(self):
        # simple network test
        pass
    
    class TestNetworkComplex(self):
        # more complex configurations
        pass
    
    class TestAuthconfig(AutomatedInstallerTest):
        # pam/login/etc
        def test_user_login(self):
            pass
    
    class TestKernel(AutomatedInstallerTest):
        pass
    
    class TestRaid(AutomatedInstallerTest):
        pass
    
    class TestPartitioning(AutomatedInstallerTest):
        pass
    
    class TestCopyFiles(AutomatedInstallerTest):
        pass
    
    class TestISOBuild(object):
        # check that the installer builds a iso properly
        pass
    
    class TestRemoteInstall(object):
        # test a completely remote installation (nfs/http)
        pass
    
    # filesystem size
    

